15 research outputs found

    On the Energy Overhead of Mobile Storage Systems

    Get PDF
    Abstract Secure digital cards and embedded multimedia cards are pervasively used as secondary storage devices in portable electronics, such as smartphones and tablets. These devices cost under 70 cents per gigabyte. They deliver more than 4000 random IOPS and 70 MBps of sequential access bandwidth. Additionally, they operate at a peak power lower than 250 milliwatts. However, software storage stack above the device level on most existing mobile platforms is not optimized to exploit the low-energy characteristics of such devices. This paper examines the energy consumption of the storage stack on mobile platforms. We conduct several experiments on mobile platforms to analyze the energy requirements of their respective storage stacks. Software storage stack consumes up to 200 times more energy when compared to storage hardware, and the security and privacy requirements of mobile apps are a major cause. A storage energy model for mobile platforms is proposed to help developers optimize the energy requirements of storage intensive applications. Finally, a few optimizations are proposed to reduce the energy consumption of storage systems on these platforms

    Software Defined Batteries

    Get PDF
    Abstract Different battery chemistries perform better on different axes, such as energy density, cost, peak power, recharge time, longevity, and efficiency. Mobile system designers are constrained by existing technology, and are forced to select a single chemistry that best meets their diverse needs, thereby compromising other desirable features. In this paper, we present a new hardware-software system, called Software Defined Battery (SDB), which allows system designers to integrate batteries of different chemistries. SDB exposes APIs to the operating system which control the amount of charge flowing in and out of each battery, enabling it to dynamically trade one battery property for another depending on application and/or user needs. Using microbenchmarks from our prototype SDB implementation, and through detailed simulations, we demonstrate that it is possible to combine batteries which individually excel along different axes to deliver an enhanced collective performance when compared to traditional battery packs

    Bridging the Memory-Storage Gap

    No full text
    The Internet has become indispensable in the developing world. It has become an important tool for providing entertainment, for enabling and bettering human communication, for delivering effective education, for conducting research, for spreading news, and for organizing people to rally to various causes. However, today, only a third of the world's population has quality access to the Internet. The Internet has two primary hindrances for expansion. First, the high cost of network connectivity in developing regions and second, the high cost of establishing new data centers to reduce the load on the existing data centers. Fortunately, caches in various forms help address both these problems by storing reusable content near the clients. Despite their importance, today's caches are limited in their scale because of the trends in the evolution of current memory-storage technologies. The widening gap between memory and storage is limiting the performance of applications like caches. The ever-increasing amount of data and the need to access more of it quickly have further magnified the gap. Limited DRAM capacity of servers makes it difficult to obtain good in-memory hit-rates that are vital for avoiding high-latency disk accesses. This dissertation presents two new complementary methods (HashCache and SSDAlloc) to bridge this gap for caches that affect the performance of many applications including HTTP Web Proxy caches, wide area network accelerators, content distribution networks, and file backup services. First, we will develop HashCache, a novel method to drastically improve the memory efficiency of caches. By reducing the amount of memory needed for caching by up to 20 times, it reduces the cache's total cost of ownership. While HashCache makes more effective use of limited RAM in a system, SSDAlloc introduces a tier of new memory technology like NAND-Flash between RAM and disk to further bridge the gap. SSDAlloc removes the impediments to the integration of new high-capacity memory technologies like NAND-Flash into the memory hierarchy. SSDAlloc is a novel memory manager that helps applications like HashCache tier data transparently and efficiently between DRAM and NAND-Flash. With only a few modifications to an existing application, restricted to the memory allocation portions of the code, one can reap the benefits of new memory technologies. Additionally, with SSDAlloc, applications can obtain 90\% of the raw performance of NAND-Flash, while existing transparent tiering mechanisms deliver only 6-30\% of that. Furthermore, by cleverly discerning application behavior, SSDAlloc writes up to 32 times less data to NAND-Flash when compared to similar existing mechanisms. This greatly increases the reliability of NAND-Flash that has a limited lifetime unlike DRAM

    Beating Netbooks into Servers: Making Some Computers More Equal Than Others

    No full text
    With the advent of cheap netbooks, expanding Internet access to the developing world is becoming more and more feasible. However, classroom computers benefit from applications typically deployed on servers, such as proxy caches, WAN accelerators, backup, etc. Server infrastructure, unfortunately, is not as well suited for developing-world use, since it tends to be less ruggedized, more power-hungry, and more expensive, making it difficult for small deployments to adequately maintain, stock and replace. To address these issues, we consider the notion of turning a netbook in to a low-end server via software support. Many netbooks ship with multi-gigabyte solid state disks (SSD) that are intended for local storage. By attaching an external disk and using the SSD to augment the typically-meager RAM memory, we can instead use a netbook as a server. Unfortunately, SSD behaves very differently from RAM, and requires special consideration to be used effectively. To this end, we introduce SSDAlloc, a hybrid memory manager that provides simple programming constructs that developers can use to build server software with small RAM footprints and good performance. With SSDAlloc and an external hard disk, a netbook can act as a server for the entire school, dramatically reducing deployment cost and complexity.
    corecore